package Package.IOStream.CharacterStream.CharacterStreamCodecIssue;

import java.io.*;
import java.nio.charset.StandardCharsets;

public class CharacterStreamCodecIssue {
    public static final void CharacterStreamCodecIssue() throws IOException {
        OutputStreamWriter OSW=new OutputStreamWriter(new FileOutputStream("D:\\insert\\a.txt"), StandardCharsets.UTF_8);
        OSW.write("常存");
        OSW.close();
//        读取数据
        InputStreamReader ISR=new InputStreamReader(new FileInputStream("D:\\insert\\a.txt"),StandardCharsets.UTF_8);
        int ch;
        while ((ch=ISR.read())!=-1){
            System.out.println((char)ch);
        }
        ISR.close();
    }
}
//字符流中和编码解码问题相关的两个类
//InputStreamReader：是从字节流到字符流的桥梁
//它读取字节，并使用指定的编码将其解码为字符
//它使用的字符集可以由名称指定，也可以被明确指定，或者可以接受平台的默认字符集
//OutputStreamWriter：是从字符流到字节流的桥梁
//是从字符流到字节流的桥梁，使用指定的编码将写入的字符编码为字节
//它使用的字符集可以由名称指定，也可以被明确指定，或者可以接受平台的默认字符集